Title : redocneXk version 2.05
Author : Samuel Austin (AKA Tril on driverheaven.net)
Contact : samaust@hotmail.com or PM me on driverheaven
Date :  13 january 2007
-----------------------------------------------------------------------------
The avcodec library is licensed under the LGPL.  It is dynamically loaded at 
runtime.  See the included lgpl.txt file for a copy of the LGPL license.

The library was compiled from the source of 20070111.

You can get it from the FFmpeg CVS repository.  It is hosted by the MPlayer 
project at http://www.mplayerhq.hu/ .

ASIO is a trademark of Steinberg Media Technologies GmbH.

redocneXk is in no way affiliated, associated or connected with Creative 
Technology Inc.

Thanks to Insomnia Visions.  I use some code from their tutorial on WaveOut.

Thanks to Hector Santos.  I use his source code from the article 'Flexible
Command Line Arguments Class' posted on the website 'The Code Project'.

Thanks to Chris Maunder.  I use his source code from the article 'Adding Icons 
to the System Tray' posted on the website 'The Code Project'.

Thanks to xicoloko.  I use his source code from the article 'Adding your 
application to the Windows Startup' posted on the website 'The Code Project'.

I use tinyxml (www.sourceforge.net/projects/tinyxml).  Thanks to Yves Berquin, 
the original author and all those that improved his code.

Special thanks to Russ on DriverHeaven.net for answering programming questions
and suggesting improvements.
-----------------------------------------------------------------------------


What it does :
--------------
It encodes to AC3 what you send it by using ASIO.  ASIO is used to transfer 
audio from the sound card to the cpu.  The cpu encodes the sound to AC3 and
send it out of the computer by using the sound card digital passthru.  You 
can easily do this to every sound played in windows with this program.


License :
-------
It is not released under any existing license.  I use my own license.  In 
summary, it goes like this :
- It's not open source but I'm open to suggestions on improvement that 
  I'll write myself.
- It is free ($$$) to use for all without exceptions
  ( except if you REALLY want to send me money :) ).
- You don't have the right to sell it.  I don't want people to make money 
  out of my work.


How to use it
-------------

The interface is self-explanatory but I'll explain every settings.

There are five menu items.

Exit : Press it to exit the program.

Start encoding : Press it to start the encoding.

Stop encoding : Press it to stop the encoding.

Advanced Settings : This opens a dialog that currently contains three options.
		    The first option is a delay in seconds.  It is used at
		    Windows startup to wait for the audio drivers to load 
		    before redocneXk if you check 'Load at Windows startup'.
		    The second option is used to select the priority at which
		    redocneXk will run.  If it is too low, stuttering will be
		    heard.
		    The third option is the number of buffers that get stored
		    in memory before the encoding starts.  A number higher than
		    1 will increase the latency a little but it may help 
		    eliminate stuttering.

About : Press it to see the About dialog.


ASIO Driver : Choose the ASIO driver that will be used.  When using the kX 
              drivers, it is usually starts with 'kX ASIO'.  Don't choose 
              one that has '24/96' in the name, it won't work and it will 
              probably crash.

Encoding Bitrate : the bitrate of the encoding.  I suggest always using 
                   640000.

Matrix Preset : This is the name of the preset that is in use.  There are 
                two by default.  One for the kX drivers and another for the
                Creative drivers.  You can't save over or delete the two
                default presets.  You can make a new preset by changing the 
                numbers in the edit boxes, writing a name for the preset in 
                the combobox of Matrix Preset and clicking Save.  Be careful 
                not to put too big numbers (much larger than one) in the combo 
                boxes or else there will be clipping.  Depending on your sound
                card and it's ASIO settings, you may see that many matrix edit
                boxes.

Normalize : This will divide the all the values in the matrix edit boxes by 
            the biggest number.

Audio Renderer : You can choose WaveOut or DirectSound.  I suggest WaveOut 
                 because it gives a slightly lower latency than DirectSound.

Output Device : The Output device is used to output the audio by digital 
                passthru.  The first choice is the correct one most of the 
                time.

Load at Windows startup : if you check this, it will load at Windows startup.  
                          A key to do this is written in the registry for the
                          current Windows user.

Automatically 'Start Encoding' : If you check this, the encoding will 
				 automatically start when you start redocneXk.
				 This option always work.  By that, I mean that
				 it works when you manually start the program 
				 and when it is started by Windows.  You can
				 activate a delay to delay the start of the 
				 encoding.If you don't want the encoding to 
				 start, uncheck the checkmark before the end of
				 the delay.  

Minimized to tray at startup : The program starts minimized.  You doubleclick 
                               the icon to get the window of the program.

ASIO Control Panel... : This opens the ASIO control panel for the selected 
                        ASIO Driver.  The most important setting is the 
                        latency.  I recommand any latency settings from 
                        0.67 ms (32 samples) to 32ms (1536 samples) except
                        21.33ms (1024 samples).  The 21.33ms latency can cause
                        stutter and a slightly increased latency so don't use 
                        it.

Matrix : Put numbers in the edit boxes to make a preset.  You can change the 
         volume and the phase of all the inputs to the encoder.  The range is
         limited to values from -2 to 2.


You'll notice that the settings and the presets are stored in two xml files 
called Settings.xml and Presets.xml.

Changelog
---------

version 2.05
- Fixed a memory leak that happened when freeing the memory used by the encoder.
- Fixed a bug related to the ASIO out buffers.
- These two first bugs fixes should fix the freeze problem where the program would   completely freeze the computer, especially when the realtime priority was used.
- Improved the conversion from 24 bit to 16 bit.  The volume needs less to be reduced.

version 2.04
- Added the third advanced setting.
- Added X-Fi support.
- Added basic 24 bits support (fast conversion from 24 bit to 16 bit, 
  the WAVE volume of the sound mixer in Windows needs to be reduced or else 
  there will be hard clipping)
- Fixed the bug that would freeze the computer if the audio acceleration 
  was lower than full.
- Moved to the SVN release of ffmpeg of 20061205.  There
  is a new dll called avutil-49.dll because of changes in the code of ffmpeg.
- Optimisation of the code by removing a condition from a loop.
- Fixed a bug where the program would crash at startup if a non-existing ASIO 
  driver name was written in the file Settings.xml.
  
version 2.03
- Fixed some minor bugs.
- Fixed some memory leaks.
- Changed the caption of some labels and settings.
- Changed the name of some settings in Settings.xml to make their usage more obvious.
- Added validation to the data entered in the delay input box.  If you leave it blank,
  it shows zero.  The maximum value is limited to 600 seconds (10 minutes).
- Added an 'Advanced Settings' menu.  It is used to :
	- change the LoadatWindowsStartupWaitTime setting in Settings.xml
	- change the priority of the program
- Fixed the LoadatWindowsStartupWaitTime functionality (the delay was always 5 seconds).
- Added prompt to the user when saving and deleting presets.
- Added a tootip to the icon in the tray that says if the encoding is ON or OFF.

version 2.02
- Fixed the 'no sound' bug.
- Fixed a bug related to 'delete preset'.
- Removed all the bitrates that were too low for encoding six channels.
- The preset edit boxes that are not used by the ASIO driver are disabled.
- Allow only one instance of the program to run.
- Added data validation and formatting to the numbers in the edit boxes of the 
  presets.  You can now only enter numbers from -2 to 2.  
- The edit boxes containing the value zero have grey text.
- Added a menu to the dialog and removed three buttons.
- Changed the caption "automatic startup delay" to "auto-start delay".
- Added the 'normalize' checkmark.

version 2.01
- Fixed bug where only one ASIO drivers was shown in the 'ASIO Driver' combo box.

version 2.00
- First version of the program with a GUI.
 
avcodec.dll was compiled using ./configure --enable-shared --enable-memalign-hack 
--disable-debug --disable-ffplay --disable-ffserver --disable-audio-oss 
--disable-decoders